1623D - Robot Cleaner Revisit - CodeForces Solution


implementation math probabilities *2300

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e9+7;

ll binpow(ll x, int y = 1e9+5){
    ll ans = 1;
    x %= N;
    while(y){
        if(y & 1) ans = (ans * x)%N;
        x = (x*x)%N;
        y /= 2;
    }
    return ans;
}
void solve(){
    ll n,m,a,b,x,y,pop; cin >> n >> m >> a >> b >> x >> y >> pop;
    pop = 1ll-(pop*binpow(100))%N;
    pop += N; pop%=N;
    int i=-1,j=-1;
    ll p = 0;
    ll p2 = 1;
    for(int q = 0; q < (n-1)*(m-1)*4; q++){
        if(a+i > n || a+i < 1) i *= -1;
        if(b+j > m || b+j < 1) j *= -1;
        a += i; b += j;
        p=(p+1)%N;
        if(a == x || b == y){
            p= (p*pop)%N; 
            p2 = (p2*pop)%N; 
        }

    }
    cout << (p*binpow(1-p2+N))%N << '\n';
}
int32_t main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t=1; cin >> t;
    while(t--) solve();
}


Comments

Submit
0 Comments
More Questions

Bricks Game
Char Sum
Two Strings
Anagrams
Prime Number
Lexical Sorting Reloaded
1514A - Perfectly Imperfect Array
580A- Kefa and First Steps
1472B- Fair Division
996A - Hit the Lottery
MSNSADM1 Football
MATCHES Playing with Matches
HRDSEQ Hard Sequence
DRCHEF Doctor Chef
559. Maximum Depth of N-ary Tree
821. Shortest Distance to a Character
1441. Build an Array With Stack Operations
1356. Sort Integers by The Number of 1 Bits
922. Sort Array By Parity II
344. Reverse String
1047. Remove All Adjacent Duplicates In String
977. Squares of a Sorted Array
852. Peak Index in a Mountain Array
461. Hamming Distance
1748. Sum of Unique Elements
897. Increasing Order Search Tree
905. Sort Array By Parity
1351. Count Negative Numbers in a Sorted Matrix
617. Merge Two Binary Trees
1450. Number of Students Doing Homework at a Given Time